/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package datos;

/**
 *
 * @author May
 */
import java.sql.CallableStatement;
import datos.OperacionesBase;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import negocios.Apreciacion;
import negocios.Atributo_Propio;
import negocios.Clasificador;
import negocios.Clasificador_Prenda;
import negocios.Color_Prenda;
import negocios.Comentario;
import negocios.Compartir;
import negocios.Conjunto;
import negocios.Conjunto_Prenda;
import negocios.Conjunto_Usuario;
import negocios.Defecto;
import negocios.Estado_Prenda;
import negocios.Genero_Usuario;
import negocios.Grado;
import negocios.Medida;
import negocios.Medida_Prenda;
import negocios.Medidas_Usuario;
import negocios.Mide;
import negocios.Prenda;
import negocios.Prenda_Atributo;


public class BaseDeDatosDB {

    public boolean grabarApreciacion(Apreciacion miApreciacion) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into apreciacion values('" + miApreciacion.getAtributo() + "')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }

    public int modificarApreciacion(Apreciacion miApreciacion) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "update apreciacion set atributo='" + miApreciacion.getAtributo()+ 
        "' where id='" + miApreciacion.getId() + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }

    public int eliminarApreciacion(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "delete from cliente where cedula='" + cedula + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }
/*
    public Cliente buscarCliente(String cedula) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from cliente where cedula ='" + cedula + "'";
        ResultSet resultado = db.seleccion(query);//cada tupla, recibir reulset y pasar al array pa q no se borre x cerrarse la conexin
        Cliente miCliente = null;
        if (resultado != null) {
            resultado.next();
            miCliente = new Cliente();
            miCliente.setCedula(resultado.getString("Cedula"));
            miCliente.setNombre(resultado.getString("Nombre"));
            miCliente.setApellido(resultado.getString("Apellido"));
            miCliente.setTelefono(resultado.getString("Telefono"));
            miCliente.setId_dir(resultado.getInt("Id_dir"));
            miCliente.setId_ciudad(resultado.getInt("Id_ciudad"));
        }
        db.cerrarConexion();
        return miCliente;
    }

    public ArrayList listarCliente() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from cliente ";
        ResultSet resultado = db.seleccion(query);
        Cliente miCliente = null;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {
            miCliente = new Cliente();
            miCliente.setCedula(resultado.getString(1));
            miCliente.setNombre(resultado.getString(2));
            miCliente.setApellido(resultado.getString(3));
            miCliente.setTelefono(resultado.getString(4));
            miCliente.setId_dir(resultado.getInt(5));
            miCliente.setNum_facturas(resultado.getInt(6));
            miCliente.setId_ciudad(resultado.getInt(7));
            todos.add(miCliente);
        }
        db.cerrarConexion();
        return todos;
    }
    //////////////////////////////////////// MANTENIMIENTO CIUDADES ///////////////////////////////////

    public boolean grabarCiudad(Ciudad miCiudad) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "insert into ciudad (ciudad) values('" + miCiudad.getCiudad() + "')";
        Boolean resultado = db.ingreso(query);
        db.cerrarConexion();
        return resultado;
    }

    public int modificarCiudad(Ciudad miCiudad) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "update ciudad set ciudad='" + miCiudad.getCiudad() + "' where id_ciudad='" + miCiudad.getId_ciudad() + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }

    public int eliminarCiudad(int codigo) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "delete from ciudad where id_ciudad='" + codigo + "'";
        int resultado = db.modificacioneliminacion(query);
        db.cerrarConexion();
        return resultado;
    }

    public Ciudad buscarCiudad(int codigo) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from ciudad where id_ciudad ='" + codigo + "'";
        ResultSet resultado = db.seleccion(query);//cada tupla, recibir reulset y pasar al array pa q no se borre x cerrarse la conexin
        Ciudad miCiudad = null;
        if (resultado != null) {
            resultado.next();
            miCiudad = new Ciudad();
            try {
                miCiudad.setId_ciudad(resultado.getInt("Id_ciudad"));
                miCiudad.setCiudad(resultado.getString("Ciudad"));
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Busqueda sin Resultados");
            }
        }
        db.cerrarConexion();
        return miCiudad;
    }

    public Ciudad buscarCodigodeCiudadNueva(String nombre) throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from ciudad where ciudad ='" + nombre + "'";
        ResultSet resultado = db.seleccion(query);//cada tupla, recibir reulset y pasar al array pa q no se borre x cerrarse la conexin
        Ciudad miCiudad = null;
        if (resultado != null) {
            resultado.next();
            miCiudad = new Ciudad();
            try {
                miCiudad.setId_ciudad(resultado.getInt("Id_ciudad"));
                miCiudad.setCiudad(resultado.getString("Ciudad"));
            } catch (Exception e) {
                JOptionPane.showMessageDialog(null, "Busqueda sin Resultados");
            }
        }
        db.cerrarConexion();
        return miCiudad;
    }

    public ArrayList listarCiudad() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select * from ciudad ";
        ResultSet resultado = db.seleccion(query);
        Ciudad miCiudad = null;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {
            miCiudad = new Ciudad();
            miCiudad.setId_ciudad(resultado.getInt(1));
            miCiudad.setCiudad(resultado.getString(2));
            todos.add(miCiudad);
        }
        db.cerrarConexion();
        return todos;
    }

    public ArrayList listarIds() throws SQLException {
        OperacionesBase db = new OperacionesBase();
        String query = "select id_ciudad from ciudad ";
        ResultSet resultado = db.seleccion(query);
        int micodigo = 0;
        ArrayList todos = new ArrayList();
        while (resultado.next()) {

            micodigo = (resultado.getInt(1));
            todos.add(micodigo);
        }
        db.cerrarConexion();
        return todos;
    }*/
    }